<template>
  <div class="detail-edit-warpper">
    <el-dialog :visible.sync="pageInfo.isShow" :close-on-click-modal="false" append-to-body width="1000px">
      <div slot="title">
        <span>{{ pageInfo.dialogTitle }}</span>
        <span style="margin-left: 16px; color: #4E78EF;">已选商品{{ pageInfo.rowInfo.length }}个</span>
      </div>
      <edit-content ref="editContent" />
      <span slot="footer" class="dialog-footer">
        <el-button @click="pageInfo.isShow = false">取 消</el-button>
        <el-button type="primary" @click="handleEdit">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>

<script>
import EditContent from '../components/edit-content.vue'
export default {
  components: { EditContent },
  props: {
    editPageInfo: {
      type: Object,
      default: () => ({})
    }
  },
  data() {
    return {
      pageInfo: {
        isShow: false,
        dialogTitle: '修改内容',
        rowInfo: {}
      }
    }
  },
  watch: {
    editPageInfo(val) {
      this.pageInfo = {
        ...this.pageInfo,
        isShow: val.isShow,
        dialogTitle: val.dialogTitle,
        rowInfo: val.rowInfo || {}
      }
      console.log(this.pageInfo)
    }
  },
  methods: {
    // 批量修改重提主任务/子任务（/api/MoveHoseCopyTask/ReCreateDistributionUpdateTask）
    handleEdit() {
      const { form } = this.$refs?.editContent
      form.replaceKeywords = form.replaceKeywords.filter(item => item.replaceBefore && item.replaceAfter)
      console.log(form)
      this.pageInfo.isShow = false
      const updateConfig = {
        prefix: form.addPrefix,
        suffix: form.addSuffix,
        replace: form.replaceKeywords, // 后端的格式是：{'原字': '新字'}。前端是[{replaceBefore: '原字', replaceAfter: '新字'}]
        delkeywords: form.delkeywords,
        delTitleBefore: form.delTitleBefore,
        delTitleAfter: form.delTitleAfter,
        max_length: form.overWrite,
        cut_type: 1 // 前端没有这个东西
      }
      console.log(updateConfig)

      // const result = {
      //   max_length: 60,
      //   del_before_num: 10,
      //   del_after_num: 2,
      //   prefix: '前缀',
      //   suffix: '后缀',
      //   cut_type: 1,
      //   delete_words: '',
      //   replace: {
      //     '原字': '新字'
      //   }
      // }
      const params = {
        'update_config': JSON.stringify(updateConfig), // 执行批量修改任务时传的参数，对应GoodUpdateParam.cs里面的参数，序列化为string，根据平台区分
        'edit_type': 0, // 修改类型（会影响参数update_config，每个类型参数不同）0标题，1上下架，2品牌，3预售，4删除商品，5sku编码，6商品编码，7团购价，8库存，9主图，10详情图，11详情文本，12主图补全，13两件打折，14运费模板，15服务，16短标题，17sku规格名
        'filter_config': '商品无描述，已过滤;类目预测错误!', // 重新提交主任务时过滤错误信息，可空
        'main_task_id': 123456789, // 重新提交时，提交的主任务ID，（输入失败原因，直接提交）
        'detail_ids': this.pageInfo.rowInfo.push_update_goods_id // 重新提交子任务时，多个子任务ID，（勾选商品选择重新提交）
      }
      console.log('入参 => ', params)
    }
  }
}
</script>

<style lang="scss" scoped>
p {
  margin: 0;
  line-height: 17px;
}
::v-deep {
  .el-dialog__header {
    padding: 17px 20px;
    border-bottom: 1px solid rgba(0,0,0,0.06);
  }
  .el-dialog__body {
    padding-bottom: 94px;
  }
  .el-dialog__footer {
    padding: 10px 20px;
    border-top: 1px solid rgba(0,0,0,0.06);;
  }
}
.detail-edit-warpper {
  padding: 0 20px;
}
</style>
